Cleaning del dataset ( Andrea serrano)

Creazione subset

socio= data[c(1:21, 23:24)]
sodd=data[c(375:379, 520:521)]
eco=data[(753:754)]
personal=data[(116:119)]

#creazione dataframe
df = as.data.frame(c(socio, sodd, eco, personal))
head(df)
##   PROFAM PROIND NCOMP ANNO RELPAR ETAMi SESSO STCIVMi STCPM AMATR ISTRMi CONDMi
## 1      1      1     1 2019      1    11     2       3    NA    NA      9      1
## 2      2      1     3 2019      1    14     2       2     1  1975      7      1
## 3      2      2     3 2019      2    14     1       2     1  1975      7      1
## 4      2      3     3 2019      6     9     1       1    NA    NA      7      2
## 5      3      1     2 2019      1     9     1       1    NA    NA      7      1
## 6      3      2     2 2019      3     9     2       1    NA    NA      7      1
##   LAVPAS POSIZMi ATECOMi TIPNU2 NUMNU2 RPNUC2 TIPFA2Mi REGMf RIPMf REDPRMi
## 1     NA       3       4      0      0      0        1    70     1       1
## 2     NA       4       4      1      1      1        2    70     1       2
## 3     NA       4       4      1      1      2        2    70     1       2
## 4      2       3       4      1      1      3        2    70     1       6
## 5     NA       3       4      2      1      2        2    70     1       1
## 6     NA       2       4      2      1      1        2    70     1       1
##   CITTMi SITEC SALUT RELFAM RELAM TEMLIB VOTOVI FUTUASP SITE RISEC AMICI PARENT
## 1      3    NA    NA     NA    NA     NA      8       4    3     2     3      1
## 2      1     3     2      1     2      2      7       4    3     2     5      1
## 3      1     4     3      3     4      4      2       3    3     2     5      1
## 4      1     4     2      2     2      4      4       1    3     2     3      1
## 5      1     3     1      2     2      3      8       1    3     2     3      2
## 6      1     3     2      1     2      2      8       1    3     2     2      2
##   AMICI2 VICINI
## 1      2      3
## 2      2      3
## 3      2      3
## 4      2      3
## 5      2      3
## 6      2      3

Rimuoviamo la variabile anno, perchè inutile alla nostra analisi

1. Creazione di un filtro per includere nella variabile REGMf ( REGIONI ) solo le 20 Regioni Italiane ed escludere le macroaere già contenute nella variabile originale

df <- df[df$REGMf < 444,]  #df con regioni giuste

#Creiamo un Dataset denominato Stranieri,cosi da includere solo le famiglie che hanno al loro interno almeno un individuo con cittadinanza ( CITTMi ) straniera.

Stranieri = df[df$CITTMi == 3,]

Contiamo quante differenti famiglie esistono nel dataset attraverso la variabile PROFAM.

library(dplyr)
n_distinct(Stranieri$PROFAM) #901 codici famiglia identificativi diversi 
## [1] 901

Verifichiamo la struttura del dataset ottenuto :

str(Stranieri) 
## 'data.frame':    1633 obs. of  36 variables:
##  $ PROFAM  : int  1 43 43 43 116 127 127 127 138 213 ...
##  $ PROIND  : int  1 1 2 3 4 1 2 3 2 2 ...
##  $ NCOMP   : int  1 3 3 3 4 3 3 3 2 2 ...
##  $ ANNO    : int  2019 2019 2019 2019 2019 2019 2019 2019 2019 2019 ...
##  $ RELPAR  : int  1 1 2 6 2 1 2 6 3 6 ...
##  $ ETAMi   : int  11 10 9 3 10 10 9 3 9 4 ...
##  $ SESSO   : int  2 1 2 1 2 1 2 2 2 2 ...
##  $ STCIVMi : int  3 2 2 1 2 2 2 1 1 1 ...
##  $ STCPM   : int  NA 1 1 NA 5 1 1 NA NA NA ...
##  $ AMATR   : int  NA 2006 2006 NA 2007 2009 2009 NA NA NA ...
##  $ ISTRMi  : int  9 10 10 10 1 9 9 10 1 99 ...
##  $ CONDMi  : int  1 1 3 NA 1 1 3 NA 1 NA ...
##  $ LAVPAS  : int  NA NA 1 NA NA NA 1 NA NA NA ...
##  $ POSIZMi : int  3 1 NA NA 2 3 NA NA 2 NA ...
##  $ ATECOMi : int  4 99 99 99 4 4 NA NA 4 NA ...
##  $ TIPNU2  : int  0 1 1 1 1 1 1 1 2 4 ...
##  $ NUMNU2  : int  0 1 1 1 1 1 1 1 1 1 ...
##  $ RPNUC2  : int  0 2 1 3 1 2 1 3 1 3 ...
##  $ TIPFA2Mi: int  1 2 2 2 2 2 2 2 2 3 ...
##  $ REGMf   : int  70 40 40 40 60 90 90 90 90 50 ...
##  $ RIPMf   : int  1 2 2 2 2 3 3 3 3 2 ...
##  $ REDPRMi : int  1 1 6 NA 1 1 6 NA 1 NA ...
##  $ CITTMi  : int  3 3 3 3 3 3 3 3 3 3 ...
##  $ SITEC   : int  NA 3 2 NA 2 2 2 NA 3 NA ...
##  $ SALUT   : int  NA 2 2 NA 1 2 2 NA 1 NA ...
##  $ RELFAM  : int  NA 1 1 NA 1 3 2 NA 1 NA ...
##  $ RELAM   : int  NA 2 2 NA 1 2 2 NA 3 NA ...
##  $ TEMLIB  : int  NA 2 2 NA 1 2 2 NA 2 NA ...
##  $ VOTOVI  : int  8 9 8 NA 10 8 NA NA 8 NA ...
##  $ FUTUASP : int  4 2 1 NA 1 3 3 NA 1 NA ...
##  $ SITE    : int  3 3 3 3 3 3 3 3 4 4 ...
##  $ RISEC   : int  2 3 3 3 2 2 2 2 2 4 ...
##  $ AMICI   : int  3 2 2 1 2 1 5 2 4 2 ...
##  $ PARENT  : int  1 2 2 NA 2 2 2 NA 2 NA ...
##  $ AMICI2  : int  2 2 2 NA 2 2 2 NA 2 NA ...
##  $ VICINI  : int  3 3 2 NA 2 1 1 NA 2 NA ...

Una volta appurato che le variabili sono codificate come integer , provvediamo alla ricodifica delle stesse in fattori :

# Dataset attuale: gli NA compresi
Stranieri <- Stranieri %>% mutate_all(as.factor)
df <- df %>% mutate_all(as.factor)

Ricodifica delle etichette dei livelli delle variabili categoriche:

# RELPAR
levels(df$RELPAR)[levels(df$RELPAR)== 01] <- "PR"       
levels(df$RELPAR)[levels(df$RELPAR)== 02] <- "convivente di PR"     
levels(df$RELPAR)[levels(df$RELPAR)== 03] <- "convivente di PR"     
levels(df$RELPAR)[levels(df$RELPAR)== 04] <- "genitori PR e partner"        
levels(df$RELPAR)[levels(df$RELPAR)== 05] <- "genitori PR e partner"        
levels(df$RELPAR)[levels(df$RELPAR)== 06] <- "figlio di PR da ultimo matrimonio"        
levels(df$RELPAR)[levels(df$RELPAR)== 07] <- "figlio di PR (o del partner) da precedente matrimonio"        
levels(df$RELPAR)[levels(df$RELPAR)== 08] <- "convivente del figlio di PR o partner"        
levels(df$RELPAR)[levels(df$RELPAR)== 09] <- "convivente del figlio di PR o partner"        
levels(df$RELPAR)[levels(df$RELPAR)== 10] <- "nipote (di nonno) di PR (o del partner di PR)"        
levels(df$RELPAR)[levels(df$RELPAR)== 11] <- "nipote (di zio) di PR (o del partner di PR)"      
levels(df$RELPAR)[levels(df$RELPAR)== 12] <- "fratell* (e suo partner) di PR o partner"     
levels(df$RELPAR)[levels(df$RELPAR)== 13] <- "fratell* (e suo partner) di PR o partner"     
levels(df$RELPAR)[levels(df$RELPAR)== 14] <- "fratell* (e suo partner) di PR o partner"     
levels(df$RELPAR)[levels(df$RELPAR)== 15] <- "fratell* (e suo partner) di PR o partner"     
levels(df$RELPAR)[levels(df$RELPAR)== 16] <- "altro parente o amici di PR o partner"        
levels(df$RELPAR)[levels(df$RELPAR)== 17] <- "altro parente o amici di PR o partner"        
#levels(df$RELPAR)[levels(df$RELPAR) == 'altro'] <- "altro"

# ETAMi suddivisione in base alla scuola
levels(df$ETAMi)[levels(df$ETAMi)== 001] <- "0-18"      
levels(df$ETAMi)[levels(df$ETAMi)== 002] <- "0-18"      
levels(df$ETAMi)[levels(df$ETAMi)== 003] <- "0-18"      
levels(df$ETAMi)[levels(df$ETAMi)== 004] <- "0-18"      
levels(df$ETAMi)[levels(df$ETAMi)== 005] <- "0-18"      
levels(df$ETAMi)[levels(df$ETAMi)== 006] <- "0-18"      
levels(df$ETAMi)[levels(df$ETAMi)== 007] <- "0-18"      
levels(df$ETAMi)[levels(df$ETAMi)== 008] <- "18-24"     
levels(df$ETAMi)[levels(df$ETAMi)== 009] <- "25-34"     
levels(df$ETAMi)[levels(df$ETAMi)== 010] <- "35-44"     
levels(df$ETAMi)[levels(df$ETAMi)== 011] <- "45-54"     
levels(df$ETAMi)[levels(df$ETAMi)== 012] <- "55-64"     
levels(df$ETAMi)[levels(df$ETAMi)== 013] <- "55-64"     
levels(df$ETAMi)[levels(df$ETAMi)== 014] <- "65-74"     
levels(df$ETAMi)[levels(df$ETAMi)== 015] <- "75+"

levels(df$ETAMi)[levels(df$ETAMi)== "0-18"] <- "minor"      
levels(df$ETAMi)[levels(df$ETAMi)== "18-24"] <- "giovani"       
levels(df$ETAMi)[levels(df$ETAMi)== "25-34"] <- "giovani"   
levels(df$ETAMi)[levels(df$ETAMi)== "35-44"] <- "pri_adulti"    
levels(df$ETAMi)[levels(df$ETAMi)== "45-54"] <- "pri_adulti"
levels(df$ETAMi)[levels(df$ETAMi)== "55-64"] <- "sec_adulti"
levels(df$ETAMi)[levels(df$ETAMi)== "55-64"] <- "sec_adulti"
levels(df$ETAMi)[levels(df$ETAMi)== "65-74"] <-"terza età"
levels(df$ETAMi)[levels(df$ETAMi)== "75+"] <- "anziani"
# SESSO
levels(df$SESSO)[levels(df$SESSO)== 1] <- "Maschio"
levels(df$SESSO)[levels(df$SESSO)== 2] <- "Femmina"

#levels(df$SESSO)[levels(df$SESSO) == 'altro'] <- "altro"

#sum(is.na(df$SESSO)) #0

# STCIVM
levels(df$STCIVMi)[levels(df$STCIVMi)== 1] <- "single"
levels(df$STCIVMi)[levels(df$STCIVMi)== 2] <- "coniugat*"
levels(df$STCIVMi)[levels(df$STCIVMi)== 3] <- "separat*"
levels(df$STCIVMi)[levels(df$STCIVMi)== 6] <- "vedov*"
levels(df$STCIVMi)[levels(df$STCIVMi)== 9] <- "nd"

#levels(df$STCIVMi)[levels(df$STCIVMi) == 'altro'] <- "altro"

#sum(is.na(df$STCIVMi))  # 119 [bambini?]



#ISTRMi 
levels(df$ISTRMi)[levels(df$ISTRMi)== 01] <- "laurea"
levels(df$ISTRMi)[levels(df$ISTRMi)== 07] <- "diploma"
levels(df$ISTRMi)[levels(df$ISTRMi)== 09] <- "scuola media"
levels(df$ISTRMi)[levels(df$ISTRMi)== 10] <- "no sc_obbligo"
levels(df$ISTRMi)[levels(df$ISTRMi)== 99] <- "nd"

#levels(df$ISTRMi)[levels(df$ISTRMi) == 'altro'] <- "altro"

# d <- df 
# BarChart(ISTRMi)
#sum(is.na(df$ISTRMi))  # 115

# CONDMi
levels(df$CONDMi)[levels(df$CONDMi)== 1] <- "occupato"
levels(df$CONDMi)[levels(df$CONDMi)== 2] <- "in cerca"
levels(df$CONDMi)[levels(df$CONDMi)== 3] <- "inattivo"
levels(df$CONDMi)[levels(df$CONDMi)== 9] <- "non disponibile"

#levels(df$CONDMi)[levels(df$CONDMi) == 'altro'] <- "altro"

#sum(is.na(df$CONDMi)) # 254



#POSIZMi
levels(df$POSIZMi)[levels(df$POSIZMi)== 01] <- "imprenditore"
levels(df$POSIZMi)[levels(df$POSIZMi)== 02] <- "dir-qud-imp"
levels(df$POSIZMi)[levels(df$POSIZMi)== 03] <- "operaio"
levels(df$POSIZMi)[levels(df$POSIZMi)== 04] <- "precario"
levels(df$POSIZMi)[levels(df$POSIZMi)== 99] <- "non disponibile"

#levels(df$POSIZMi)[levels(df$POSIZMi) == 'altro'] <- "altro"

#sum(is.na(df$POSIZMi)) #510

#ATECOMi
levels(df$ATECOMi)[levels(df$ATECOMi)== 01] <- "primario"
levels(df$ATECOMi)[levels(df$ATECOMi)== 02] <- "secondario"
levels(df$ATECOMi)[levels(df$ATECOMi)== 03] <- "secondario"
levels(df$ATECOMi)[levels(df$ATECOMi)== 04] <- "terziario"
levels(df$ATECOMi)[levels(df$ATECOMi)== 99] <- "ndis"

#levels(df$ATECOMi)[levels(df$ATECOMi) == 'altro'] <- "altro"

#sum(is.na(df$ATECOMi)) #506

#TIPFA2Mi
levels(df$TIPFA2Mi)[levels(df$TIPFA2Mi)== 01] <- "no nuclei"
levels(df$TIPFA2Mi)[levels(df$TIPFA2Mi)== 02] <- "coppie"
levels(df$TIPFA2Mi)[levels(df$TIPFA2Mi)== 03] <- "monogenitore"
levels(df$TIPFA2Mi)[levels(df$TIPFA2Mi)== 04] <- "coppie + isolati"
levels(df$TIPFA2Mi)[levels(df$TIPFA2Mi)== 05] <- "monogenitore + isolati"
levels(df$TIPFA2Mi)[levels(df$TIPFA2Mi)== 06] <- "due nuclei senza isolati"
levels(df$TIPFA2Mi)[levels(df$TIPFA2Mi)== 07] <- "due nuclei con isolati"
levels(df$TIPFA2Mi)[levels(df$TIPFA2Mi)== 08] <- "tre o+ nuclei"

#levels(df$TIPFA2Mi)[levels(df$TIPFA2Mi) == 'altro'] <- "altro"

#sum(is.na(df$TIPFA2Mi)) #0

#REGMf
levels(df$REGMf)[levels(df$REGMf)== 010] <- "Pie"
levels(df$REGMf)[levels(df$REGMf)== 020] <- "Vda"       
levels(df$REGMf)[levels(df$REGMf)== 030] <- "Lom"       
levels(df$REGMf)[levels(df$REGMf)== 040] <- "Tre"       
levels(df$REGMf)[levels(df$REGMf)== 050] <- "Ven"       
levels(df$REGMf)[levels(df$REGMf)== 060] <- "Fri"       
levels(df$REGMf)[levels(df$REGMf)== 070] <- "Lig"       
levels(df$REGMf)[levels(df$REGMf)== 080] <- "Emi"       
levels(df$REGMf)[levels(df$REGMf)== 090] <- "Tos"       
levels(df$REGMf)[levels(df$REGMf)== 100] <- "Umb"
levels(df$REGMf)[levels(df$REGMf)== 110] <- "Mar"       
levels(df$REGMf)[levels(df$REGMf)== 120] <- "Laz"       
levels(df$REGMf)[levels(df$REGMf)== 130] <- "Abr"       
levels(df$REGMf)[levels(df$REGMf)== 140] <- "Mol"
levels(df$REGMf)[levels(df$REGMf)== 150] <- "Cam"       
levels(df$REGMf)[levels(df$REGMf)== 160] <- "Pug"       
levels(df$REGMf)[levels(df$REGMf)== 170] <- "Bas"       
levels(df$REGMf)[levels(df$REGMf)== 180] <- "Cal"       
levels(df$REGMf)[levels(df$REGMf)== 190] <- "Sic"       
levels(df$REGMf)[levels(df$REGMf)== 200] <- "Sar"       

#levels(df$REGMf)[levels(df$REGMf) == 'altro'] <- "altro"

#sum(is.na(df$REGMf)) #0  
levels(df$REGMf)
##  [1] "Pie" "Vda" "Lom" "Tre" "Ven" "Fri" "Lig" "Emi" "Tos" "Umb" "Mar" "Laz"
## [13] "Abr" "Mol" "Cam" "Pug" "Bas" "Cal" "Sic" "Sar"
# RIPMf
levels(df$RIPMf)[levels(df$RIPMf)== 1] <- "NO"
levels(df$RIPMf)[levels(df$RIPMf)==2] <- "NE"
levels(df$RIPMf)[levels(df$RIPMf)==3] <- "C"        
levels(df$RIPMf)[levels(df$RIPMf)==4] <- "S"        
levels(df$RIPMf)[levels(df$RIPMf)==5] <- "I"        
levels(df$RIPMf)[levels(df$RIPMf)==9] <- "NDISP"

#levels(df$RIPMf)[levels(df$RIPMf) == 'altro'] <- "altro"

#sum(is.na(df$RIPMf)) #0

# REDPRMi
levels(df$REDPRMi)[levels(df$REDPRMi)== 1] <- "lavoro dipendente"
levels(df$REDPRMi)[levels(df$REDPRMi)==2] <- "lavoro autonomo"
levels(df$REDPRMi)[levels(df$REDPRMi)==3] <- "pensione"     
levels(df$REDPRMi)[levels(df$REDPRMi)==4] <- "indennità e provvidenze"      
levels(df$REDPRMi)[levels(df$REDPRMi)==5] <- "redditi patrimoniali"
levels(df$REDPRMi)[levels(df$REDPRMi)== 6] <- "mant da famiglia"
levels(df$REDPRMi)[levels(df$REDPRMi) == 'altro'] <- "altro"

#sum(is.na(df$REDPRMi)) #261

#CITTMi
levels(df$CITTMi)[levels(df$CITTMi)== 1] <- "italiana"
levels(df$CITTMi)[levels(df$CITTMi)== 3] <- "straniera"
levels(df$CITTMi)[levels(df$CITTMi)== 9] <- "non disponibile"       

#levels(df$CITTMi)[levels(df$CITTMi) == 'altro'] <- "altro"

##sum(is.na(df$CITTMi)) #0

#SITEC
levels(df$SITEC)[levels(df$SITEC)== 1] <- "molto"
levels(df$SITEC)[levels(df$SITEC)== 2] <- "abbastanza"
levels(df$SITEC)[levels(df$SITEC)== 3] <- "poco"
levels(df$SITEC)[levels(df$SITEC)== 4] <- "per niente"

#levels(df$SITEC)[levels(df$SITEC) == 'altro'] <- "altro"

##sum(is.na(df$SITEC)) #305


# SALUT
levels(df$SALUT)[levels(df$SALUT)== 1] <- "molto"
levels(df$SALUT)[levels(df$SALUT)== 2] <- "abbastanza"
levels(df$SALUT)[levels(df$SALUT)== 3] <- "poco"
levels(df$SALUT)[levels(df$SALUT)== 4] <- "per niente"

#levels(df$SALUT)[levels(df$SALUT) == 'altro'] <- "altro"

#sum(is.na(df$SALUT)) #307

# RELFAM
levels(df$RELFAM)[levels(df$RELFAM)== 1] <- "molto"
levels(df$RELFAM)[levels(df$RELFAM)== 2] <- "abbastanza"
levels(df$RELFAM)[levels(df$RELFAM)== 3] <- "poco"
levels(df$RELFAM)[levels(df$RELFAM)== 4] <- "per niente"

#levels(df$RELFAM)[levels(df$RELFAM) == 'altro'] <- "altro"

#sum(is.na(df$RELFAM)) #305

# RELAM
levels(df$RELAM)[levels(df$RELAM)== 1] <- "molto"
levels(df$RELAM)[levels(df$RELAM)== 2] <- "abbastanza"
levels(df$RELAM)[levels(df$RELAM)== 3] <- "poco"
levels(df$RELAM)[levels(df$RELAM)== 4] <- "per niente"

#levels(df$RELAM)[levels(df$RELAM) == 'altro'] <- "altro"

#sum(is.na(df$RELAM)) #306

#TEMPLIB
levels(df$TEMLIB)[levels(df$TEMLIB)== 1] <- "molto"
levels(df$TEMLIB)[levels(df$TEMLIB)== 2] <- "abbastanza"
levels(df$TEMLIB)[levels(df$TEMLIB)== 3] <- "poco"
levels(df$TEMLIB)[levels(df$TEMLIB)== 4] <- "per niente"

#levels(df$TEMLIB)[levels(df$TEMLIB) == 'altro'] <- "altro"

#sum(is.na(df$TEMLIB)) #305

#VOTOVI
levels(df$VOTOVI)[levels(df$VOTOVI)== 0] <- 'molto insoddisfatto'
levels(df$VOTOVI)[levels(df$VOTOVI)== 1] <- 'molto insoddisfatto'
levels(df$VOTOVI)[levels(df$VOTOVI)== 2] <- 'insoddisfatto'
levels(df$VOTOVI)[levels(df$VOTOVI)== 3] <- 'insoddisfatto'
levels(df$VOTOVI)[levels(df$VOTOVI)== 4] <- 'nè soddisfatto nè insoddisfatto'
levels(df$VOTOVI)[levels(df$VOTOVI)== 5] <- 'nè soddisfatto nè insoddisfatto'
levels(df$VOTOVI)[levels(df$VOTOVI)== 6] <- 'nè soddisfatto nè insoddisfatto'
levels(df$VOTOVI)[levels(df$VOTOVI)== 7] <- 'soddisfatto'
levels(df$VOTOVI)[levels(df$VOTOVI)== 8] <- 'soddisfatto'
levels(df$VOTOVI)[levels(df$VOTOVI)== 9] <- 'molto soddisfatto'
levels(df$VOTOVI)[levels(df$VOTOVI)== 10] <- 'molto soddisfatto'

#levels(df$VOTOVI)[levels(df$VOTOVI) == 'altro'] <- "altro"

#sum(is.na(df$VOTOVI)) #306

# FUTUASP
levels(df$FUTUASP)[levels(df$FUTUASP)== 1] <- "migliorerà"
levels(df$FUTUASP)[levels(df$FUTUASP)== 2] <- "resterà la stessa"
levels(df$FUTUASP)[levels(df$FUTUASP)== 3] <- "peggiorerà"
levels(df$FUTUASP)[levels(df$FUTUASP)== 4] <- "non so"

#levels(df$FUTUASP)[levels(df$FUTUASP) == 'altro'] <- "altro"

#sum(is.na(df$FUTUASP)) # 292

# SITE
levels(df$SITE)[levels(df$SITE)== 1] <- "molto migliorata"
levels(df$SITE)[levels(df$SITE)== 2] <- "un po' migliorata"
levels(df$SITE)[levels(df$SITE)== 3] <- "rimasta più o meno la stessa"
levels(df$SITE)[levels(df$SITE)== 4] <- "un po' peggiorata"
levels(df$SITE)[levels(df$SITE)== 5] <- "molto peggiorata"

#levels(df$SITE)[levels(df$SITE) == 'altro'] <- "altro"

#sum(is.na(df$SITE)) #1
# ANOMALO #####

#RISEC
levels(df$RISEC)[levels(df$RISEC)== 1] <- "ottime"
levels(df$RISEC)[levels(df$RISEC)== 2] <- "adeguata"
levels(df$RISEC)[levels(df$RISEC)== 3] <- "scarse"
levels(df$RISEC)[levels(df$RISEC)== 4] <- "insufficienti"

#levels(df$RISEC)[levels(df$RISEC) == 'altro'] <- "altro"

#sum(is.na(df$RISEC)) #1

# AMICI
levels(df$AMICI)[levels(df$AMICI)== 1] <- "tutti i giorni"
levels(df$AMICI)[levels(df$AMICI)== 2] <- "+1 a settimana"
levels(df$AMICI)[levels(df$AMICI)== 3] <- "1 a settimana"
levels(df$AMICI)[levels(df$AMICI)== 4] <- "-4 al mese"
levels(df$AMICI)[levels(df$AMICI)== 5] <- "qualche all'anno"
levels(df$AMICI)[levels(df$AMICI)== 6] <- "mai"
levels(df$AMICI)[levels(df$AMICI)== 7] <- "non ho amici"

#levels(df$AMICI)[levels(df$AMICI) == 'altro'] <- "altro"

#sum(is.na(df$AMICI)) #125


## 16-TIPNU2 -> Tipo nucleo 2
# 0 = nessun nucleo         20%
# 1 = coppie con figli      47%
# 2 = coppie senza figli    22%
# 3 = monogenitore padre     2%     
# 4 = monogenitore madre   9%
levels(df$TIPNU2)[levels(df$TIPNU2)== 0] <- "nessun nucleo"
levels(df$TIPNU2)[levels(df$TIPNU2)== 1] <- "coppie con figli"
levels(df$TIPNU2)[levels(df$TIPNU2)== 2] <- "coppie senza figli"
levels(df$TIPNU2)[levels(df$TIPNU2)== 3] <- "monogenitore padre"
levels(df$TIPNU2)[levels(df$TIPNU2)== 4] <- "monogenitore madre"

# PARENT
levels(df$PARENT)[levels(df$PARENT)== 1] <- "no"
levels(df$PARENT)[levels(df$PARENT)== 2] <- "si"

#levels(df$PARENT)[levels(df$PARENT) == 'altro'] <- "altro"

#sum(is.na(df$PARENT)) #265

# AMICI2
levels(df$AMICI2)[levels(df$AMICI2)== 1] <- "no"
levels(df$AMICI2)[levels(df$AMICI2)== 2] <- "si"
levels(df$AMICI2)[levels(df$AMICI2)== 3] <- "non so"

#levels(df$AMICI2)[levels(df$AMICI2) == 'altro'] <- "altro"

#sum(is.na(df$AMICI2)) #265

# VICINI
levels(df$VICINI)[levels(df$VICINI)== 1] <- "no"
levels(df$VICINI)[levels(df$VICINI)== 2] <- "si, 1"
levels(df$VICINI)[levels(df$VICINI)== 3] <- "si, +1"

#levels(df$VICINI)[levels(df$VICINI) == 'altro'] <- "altro"

#sum(is.na(df$VICINI)) # 265

Considerando che le famiglie selezionate sono composte non soltanto da membri con cittadinanza straniera , ma anche membri con cittadinanza Italiana , creiamo un nuovo dataset (“famiglie”) popolato da tutte le famiglie al completo con almeno un membro straniero :

F_S= as.numeric(levels(Stranieri$PROFAM))

famiglie = NULL
for(i in F_S)
{
  filter = subset(df, PROFAM == i)
  famiglie = rbind(famiglie, filter)
}

head(famiglie)
##     PROFAM PROIND NCOMP ANNO                            RELPAR      ETAMi
## 1        1      1     1 2019                                PR pri_adulti
## 86      43      1     3 2019                                PR pri_adulti
## 87      43      2     3 2019                  convivente di PR    giovani
## 88      43      3     3 2019 figlio di PR da ultimo matrimonio      minor
## 253    116      1     4 2019                                PR pri_adulti
## 254    116      2     4 2019 figlio di PR da ultimo matrimonio      minor
##       SESSO   STCIVMi STCPM AMATR        ISTRMi   CONDMi LAVPAS      POSIZMi
## 1   Femmina  separat*  <NA>  <NA>  scuola media occupato   <NA>      operaio
## 86  Maschio coniugat*     1  2006 no sc_obbligo occupato   <NA> imprenditore
## 87  Femmina coniugat*     1  2006 no sc_obbligo inattivo      1         <NA>
## 88  Maschio    single  <NA>  <NA> no sc_obbligo     <NA>   <NA>         <NA>
## 253 Maschio coniugat*     1  2007       diploma occupato   <NA>      operaio
## 254 Maschio    single  <NA>  <NA> no sc_obbligo     <NA>   <NA>         <NA>
##       ATECOMi           TIPNU2 NUMNU2 RPNUC2  TIPFA2Mi REGMf RIPMf
## 1   terziario    nessun nucleo      0      0 no nuclei   Lig    NO
## 86       ndis coppie con figli      1      2    coppie   Tre    NE
## 87       ndis coppie con figli      1      1    coppie   Tre    NE
## 88       ndis coppie con figli      1      3    coppie   Tre    NE
## 253 terziario coppie con figli      1      2    coppie   Fri    NE
## 254      <NA> coppie con figli      1      3    coppie   Fri    NE
##               REDPRMi    CITTMi      SITEC      SALUT RELFAM      RELAM
## 1   lavoro dipendente straniera       <NA>       <NA>   <NA>       <NA>
## 86  lavoro dipendente straniera       poco abbastanza  molto abbastanza
## 87   mant da famiglia straniera abbastanza abbastanza  molto abbastanza
## 88               <NA> straniera       <NA>       <NA>   <NA>       <NA>
## 253 lavoro dipendente  italiana abbastanza abbastanza  molto      molto
## 254              <NA>  italiana       <NA>       <NA>   <NA>       <NA>
##         TEMLIB            VOTOVI           FUTUASP                         SITE
## 1         <NA>       soddisfatto            non so rimasta più o meno la stessa
## 86  abbastanza molto soddisfatto resterà la stessa rimasta più o meno la stessa
## 87  abbastanza       soddisfatto        migliorerà rimasta più o meno la stessa
## 88        <NA>              <NA>              <NA> rimasta più o meno la stessa
## 253      molto molto soddisfatto        migliorerà rimasta più o meno la stessa
## 254       <NA>              <NA>              <NA> rimasta più o meno la stessa
##        RISEC          AMICI PARENT AMICI2 VICINI
## 1   adeguata  1 a settimana     no     si si, +1
## 86    scarse +1 a settimana     si     si si, +1
## 87    scarse +1 a settimana     si     si  si, 1
## 88    scarse tutti i giorni   <NA>   <NA>   <NA>
## 253 adeguata tutti i giorni     no     si  si, 1
## 254 adeguata tutti i giorni   <NA>   <NA>   <NA>
str(famiglie)
## 'data.frame':    2303 obs. of  36 variables:
##  $ PROFAM  : Factor w/ 19494 levels "1","2","3","4",..: 1 43 43 43 116 116 116 116 127 127 ...
##  $ PROIND  : Factor w/ 8 levels "1","2","3","4",..: 1 1 2 3 1 2 3 4 1 2 ...
##  $ NCOMP   : Factor w/ 8 levels "1","2","3","4",..: 1 3 3 3 4 4 4 4 3 3 ...
##  $ ANNO    : Factor w/ 1 level "2019": 1 1 1 1 1 1 1 1 1 1 ...
##  $ RELPAR  : Factor w/ 10 levels "PR","convivente di PR",..: 1 1 2 4 1 4 4 2 1 2 ...
##  $ ETAMi   : Factor w/ 6 levels "minor","giovani",..: 3 3 2 1 3 1 1 3 3 2 ...
##  $ SESSO   : Factor w/ 2 levels "Maschio","Femmina": 2 1 2 1 1 1 2 2 1 2 ...
##  $ STCIVMi : Factor w/ 5 levels "single","coniugat*",..: 3 2 2 1 2 1 1 2 2 2 ...
##  $ STCPM   : Factor w/ 3 levels "1","5","6": NA 1 1 NA 1 NA NA 2 1 1 ...
##  $ AMATR   : Factor w/ 72 levels "1948","1949",..: NA 59 59 NA 60 NA NA 60 62 62 ...
##  $ ISTRMi  : Factor w/ 5 levels "laurea","diploma",..: 3 4 4 4 2 4 4 1 3 3 ...
##  $ CONDMi  : Factor w/ 4 levels "occupato","in cerca",..: 1 1 3 NA 1 NA NA 1 1 3 ...
##  $ LAVPAS  : Factor w/ 2 levels "1","2": NA NA 1 NA NA NA NA NA NA 1 ...
##  $ POSIZMi : Factor w/ 5 levels "imprenditore",..: 3 1 NA NA 3 NA NA 2 3 NA ...
##  $ ATECOMi : Factor w/ 4 levels "primario","secondario",..: 3 4 4 4 3 NA NA 3 3 NA ...
##  $ TIPNU2  : Factor w/ 5 levels "nessun nucleo",..: 1 2 2 2 2 2 2 2 2 2 ...
##  $ NUMNU2  : Factor w/ 3 levels "0","1","2": 1 2 2 2 2 2 2 2 2 2 ...
##  $ RPNUC2  : Factor w/ 4 levels "0","1","2","3": 1 3 2 4 3 4 4 2 3 2 ...
##  $ TIPFA2Mi: Factor w/ 7 levels "no nuclei","coppie",..: 1 2 2 2 2 2 2 2 2 2 ...
##  $ REGMf   : Factor w/ 20 levels "Pie","Vda","Lom",..: 7 4 4 4 6 6 6 6 9 9 ...
##  $ RIPMf   : Factor w/ 5 levels "NO","NE","C",..: 1 2 2 2 2 2 2 2 3 3 ...
##  $ REDPRMi : Factor w/ 6 levels "lavoro dipendente",..: 1 1 6 NA 1 NA NA 1 1 6 ...
##  $ CITTMi  : Factor w/ 3 levels "italiana","straniera",..: 2 2 2 2 1 1 1 2 2 2 ...
##  $ SITEC   : Factor w/ 4 levels "molto","abbastanza",..: NA 3 2 NA 2 NA NA 2 2 2 ...
##  $ SALUT   : Factor w/ 4 levels "molto","abbastanza",..: NA 2 2 NA 2 NA NA 1 2 2 ...
##  $ RELFAM  : Factor w/ 4 levels "molto","abbastanza",..: NA 1 1 NA 1 NA NA 1 3 2 ...
##  $ RELAM   : Factor w/ 4 levels "molto","abbastanza",..: NA 2 2 NA 1 NA NA 1 2 2 ...
##  $ TEMLIB  : Factor w/ 4 levels "molto","abbastanza",..: NA 2 2 NA 1 NA NA 1 2 2 ...
##  $ VOTOVI  : Factor w/ 5 levels "molto insoddisfatto",..: 4 5 4 NA 5 NA NA 5 4 NA ...
##  $ FUTUASP : Factor w/ 4 levels "migliorerà","resterà la stessa",..: 4 2 1 NA 1 NA NA 1 3 3 ...
##  $ SITE    : Factor w/ 5 levels "molto migliorata",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ RISEC   : Factor w/ 4 levels "ottime","adeguata",..: 2 3 3 3 2 2 2 2 2 2 ...
##  $ AMICI   : Factor w/ 7 levels "tutti i giorni",..: 3 2 2 1 1 1 1 2 1 5 ...
##  $ PARENT  : Factor w/ 2 levels "no","si": 1 2 2 NA 1 NA NA 2 2 2 ...
##  $ AMICI2  : Factor w/ 3 levels "no","si","non so": 2 2 2 NA 2 NA NA 2 2 2 ...
##  $ VICINI  : Factor w/ 3 levels "no","si, 1","si, +1": 3 3 2 NA 2 NA NA 2 1 1 ...

Confronto tra famiglie di soli Italiani e famiglie miste:

get_family = function(dataset, regions_num = 20)
{
  family = data.frame()
  for(i in 1:regions_num)
  {
    region_name = levels(dataset$REGMf)[i]
    fam = n_distinct(dataset$PROFAM[dataset$REGMf == region_name])
    individuals = length(dataset$PROFAM[dataset$REGMf == region_name])
    medio_individui = round(individuals / fam, 2)
    min_individui = min(table(as.character(dataset$PROFAM[dataset$REGMf == region_name])))
    max_individui = max(table(as.character(dataset$PROFAM[dataset$REGMf == region_name])))
    row = c(region_name, individuals, fam, medio_individui, min_individui, max_individui)

    #cat('Numero di famiglie in', region, '-->', fam, '\n', 'Numero di individui -->', individuals, '\n', 
        #'Numero medio componenti famiglia -->', round(medio_individui), '\n')
    
    family = rbind(family, row)
  }
  colnames(family) = c('Regione', 'Numero_individui', 'Numero_famiglie',
                       'Medio_individui', 'Minimo_individui', 'Max_individui')
  return(family)

}


Italiani = df[df$CITTMi == 'italiana',]

famiglie_italiane = get_family(Italiani)
famiglie_miste = get_family(famiglie) #stranieri

show(famiglie_italiane)
##    Regione Numero_individui Numero_famiglie Medio_individui Minimo_individui
## 1      Pie             2948            1402             2.1                1
## 2      Vda              997             475             2.1                1
## 3      Lom             3648            1633            2.23                1
## 4      Tre             2614            1131            2.31                1
## 5      Ven             2529            1065            2.37                1
## 6      Fri             1624             742            2.19                1
## 7      Lig             1657             837            1.98                1
## 8      Emi             2204            1014            2.17                1
## 9      Tos             2360            1068            2.21                1
## 10     Umb             1150             503            2.29                1
## 11     Mar             1781             757            2.35                1
## 12     Laz             2343            1058            2.21                1
## 13     Abr             1687             724            2.33                1
## 14     Mol             1328             557            2.38                1
## 15     Cam             3474            1293            2.69                1
## 16     Pug             2521            1047            2.41                1
## 17     Bas             1322             573            2.31                1
## 18     Cal             2095             854            2.45                1
## 19     Sic             2717            1130             2.4                1
## 20     Sar             1770             817            2.17                1
##    Max_individui
## 1              7
## 2              6
## 3              6
## 4              7
## 5              7
## 6              6
## 7              6
## 8              6
## 9              6
## 10             7
## 11             6
## 12             7
## 13             6
## 14             5
## 15             7
## 16             6
## 17             6
## 18             6
## 19             6
## 20             6
show(famiglie_miste)
##    Regione Numero_individui Numero_famiglie Medio_individui Minimo_individui
## 1      Pie              259              96             2.7                1
## 2      Vda               47              17            2.76                1
## 3      Lom              356             123            2.89                1
## 4      Tre              171              60            2.85                1
## 5      Ven              175              65            2.69                1
## 6      Fri              115              43            2.67                1
## 7      Lig               96              42            2.29                1
## 8      Emi              208              77             2.7                1
## 9      Tos              153              64            2.39                1
## 10     Umb              100              39            2.56                1
## 11     Mar               96              32               3                1
## 12     Laz              153              69            2.22                1
## 13     Abr               42              20             2.1                1
## 14     Mol               24              11            2.18                1
## 15     Cam              100              50               2                1
## 16     Pug               21              11            1.91                1
## 17     Bas               22               9            2.44                1
## 18     Cal               49              23            2.13                1
## 19     Sic               81              33            2.45                1
## 20     Sar               35              17            2.06                1
##    Max_individui
## 1              7
## 2              6
## 3              6
## 4              5
## 5              6
## 6              7
## 7              6
## 8              6
## 9              5
## 10             6
## 11             6
## 12             7
## 13             6
## 14             4
## 15             6
## 16             4
## 17             5
## 18             5
## 19             6
## 20             5

Analisi Monovariata delle variabili del dataset ( 36 ) (autore: Nicola Maria D’angelo )

library(lessR)
library(labstatR)
library(ggplot2)

VARIABILI PRINCIPALI

PieChart(SESSO, data=famiglie, 
         main = 'SESSO ',
         values='%',
         values_color='white',
         theme="light",
         clockwise = TRUE,
         hole=0)

## >>> Suggestions
## PieChart(SESSO, hole=0)  # traditional pie chart
## PieChart(SESSO, values="%")  # display %'s on the chart
## BarChart(SESSO)  # bar chart
## Plot(SESSO)  # bubble plot
## Plot(SESSO, values="count")  # lollipop plot 
## 
## 
## --- SESSO ---
## 
## 
##                Maschio  Femmina      Total 
## Frequencies:      1095     1208       2303 
## Proportions:     0.475    0.525      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 5.545, df = 1, p-value = 0.019

In riferimento al dataset ‘famiglie’, prendendo in considerazione la variabile SESSO, il grafico ci mostra come ci sia una leggera prevalenza delle donne rispetto agli uomini, rispettivamente 52% e 48%.

Ripartizione in regioni e aree d’Italia

BarChart(REGMf, data=famiglie, 
         main = 'REGIONI', 
         rotate_x=90, 
         offset=1,
         values='%',
         values_color='white',
         sort='-',
         theme="light",
         xlab = "",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(REGMf, horiz=TRUE)  # horizontal bar chart
## BarChart(REGMf, fill="greens")  # sequential green bars
## PieChart(REGMf)  # doughnut (ring) chart
## Plot(REGMf)  # bubble plot
## Plot(REGMf, stat="count")  # lollipop plot 
## 
## 
## --- REGMf ---
## 
## 
## Missing Values of REGMf: 0 
## 
## 
## REGMf  Count   Prop 
## -------------------- 
##   Lom    356   0.155 
##   Pie    259   0.112 
##   Emi    208   0.090 
##   Ven    175   0.076 
##   Tre    171   0.074 
##   Tos    153   0.066 
##   Laz    153   0.066 
##   Fri    115   0.050 
##   Umb    100   0.043 
##   Cam    100   0.043 
##   Lig     96   0.042 
##   Mar     96   0.042 
##   Sic     81   0.035 
##   Cal     49   0.021 
##   Vda     47   0.020 
##   Abr     42   0.018 
##   Sar     35   0.015 
##   Mol     24   0.010 
##   Bas     22   0.010 
##   Pug     21   0.009 
## -------------------- 
## Total   2303   1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1266.978, df = 19, p-value = 0.000
BarChart(RIPMf, data=famiglie, 
         main = 'RIPARTIZIONE GEOGRAFICA DI RESIDENZA', 
         rotate_x=90, 
         offset=1,
         values='%',
         values_color='white',
         sort="-", 
         theme="light",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(RIPMf, horiz=TRUE)  # horizontal bar chart
## BarChart(RIPMf, fill="greens")  # sequential green bars
## PieChart(RIPMf)  # doughnut (ring) chart
## Plot(RIPMf)  # bubble plot
## Plot(RIPMf, stat="count")  # lollipop plot 
## 
## 
## --- RIPMf ---
## 
## 
## Missing Values of RIPMf: 0 
## 
## 
##                   NO     NE      C      S      I      Total 
## Frequencies:     758    669    502    258    116       2303 
## Proportions:   0.329  0.290  0.218  0.112  0.050      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 636.967, df = 4, p-value = 0.000

Le regioni che presentano una maggior frequenza percentuale di famiglie con almeno uno componente con cittadinanza straniera sono la Lombardia (15%), il Piemonte (11%), l’ Emilia-Romagna (9%).

In generale, come si può evincere sia dal primo che ,più accuratamente, dal secondo grafico, le macro-aree del nord presentano più del 60% di famiglie caratterizzate da almeno uno straniero.

Età e Numero componenti famiglie

BarChart(NCOMP, data=famiglie, 
         main = 'NUMERO COMPONENTI FAMILIARI', 
         rotate_x=90, 
         offset=1,
         values='%',
         values_color='white',
         theme="light",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(NCOMP, horiz=TRUE)  # horizontal bar chart
## BarChart(NCOMP, fill="greens")  # sequential green bars
## PieChart(NCOMP)  # doughnut (ring) chart
## Plot(NCOMP)  # bubble plot
## Plot(NCOMP, stat="count")  # lollipop plot 
## 
## 
## --- NCOMP ---
## 
## 
## Missing Values of NCOMP: 0 
## 
## 
##                    1      2      3      4      5      6      7      8      Total 
## Frequencies:     305    368    465    608    385    144     28      0       2303 
## Proportions:   0.132  0.160  0.202  0.264  0.167  0.063  0.012  0.000      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1115.439, df = 7, p-value = 0.000
BarChart(ETAMi, data=famiglie, 
         main = 'ETÁ COMPONENTE IN ANNI COMPIUTI', 
         rotate_x=90, 
         offset=1,
         values='%',
         values_color='white', 
         theme="light",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(ETAMi, horiz=TRUE)  # horizontal bar chart
## BarChart(ETAMi, fill="greens")  # sequential green bars
## PieChart(ETAMi)  # doughnut (ring) chart
## Plot(ETAMi)  # bubble plot
## Plot(ETAMi, stat="count")  # lollipop plot 
## 
## 
## --- ETAMi ---
## 
## 
## Missing Values of ETAMi: 0 
## 
## 
##      ETAMi  Count   Prop 
## ------------------------- 
##      minor    599   0.260 
##    giovani    495   0.215 
## pri_adulti    868   0.377 
## sec_adulti    248   0.108 
##  terza età     66   0.029 
##    anziani     27   0.012 
## ------------------------- 
##      Total   2303   1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1406.524, df = 5, p-value = 0.000

Analisi sul Nucleo 2

BarChart(TIPNU2, data=famiglie, 
         main = 'TIPO DI NUCLEO 2', 
         rotate_x=90, 
         offset=1,
         values='%',
         values_color='white',
         theme="light",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(TIPNU2, horiz=TRUE)  # horizontal bar chart
## BarChart(TIPNU2, fill="greens")  # sequential green bars
## PieChart(TIPNU2)  # doughnut (ring) chart
## Plot(TIPNU2)  # bubble plot
## Plot(TIPNU2, stat="count")  # lollipop plot 
## 
## 
## --- TIPNU2 ---
## 
## 
## Missing Values of TIPNU2: 0 
## 
## 
##             TIPNU2  Count   Prop 
## --------------------------------- 
##      nessun nucleo    434   0.188 
##   coppie con figli   1361   0.591 
## coppie senza figli    338   0.147 
## monogenitore padre     21   0.009 
## monogenitore madre    149   0.065 
## --------------------------------- 
##              Total   2303   1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 2424.666, df = 4, p-value = 0.000
BarChart(RPNUC2, data=famiglie, 
         main = "RELAZIONE DI PARENTELA IN AMBITO NUCLEO 2", 
         rotate_x=90, 
         offset=1,
         values='%',
         values_color='white',
         theme="light",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(RPNUC2, horiz=TRUE)  # horizontal bar chart
## BarChart(RPNUC2, fill="greens")  # sequential green bars
## PieChart(RPNUC2)  # doughnut (ring) chart
## Plot(RPNUC2)  # bubble plot
## Plot(RPNUC2, stat="count")  # lollipop plot 
## 
## 
## --- RPNUC2 ---
## 
## 
## Missing Values of RPNUC2: 0 
## 
## 
##                    0      1      2      3      Total 
## Frequencies:     434    604    529    736       2303 
## Proportions:   0.188  0.262  0.230  0.320      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 84.684, df = 3, p-value = 0.000
BarChart(TIPFA2Mi, data=famiglie, 
         main = "TIPOLOGIA FAMILIARE 2", 
         rotate_x=90, 
         offset=1,
         values='%',
         values_color='white',
         theme="light",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(TIPFA2Mi, horiz=TRUE)  # horizontal bar chart
## BarChart(TIPFA2Mi, fill="greens")  # sequential green bars
## PieChart(TIPFA2Mi)  # doughnut (ring) chart
## Plot(TIPFA2Mi)  # bubble plot
## Plot(TIPFA2Mi, stat="count")  # lollipop plot 
## 
## 
## --- TIPFA2Mi ---
## 
## 
## Missing Values of TIPFA2Mi: 0 
## 
## 
##                 TIPFA2Mi  Count   Prop 
## --------------------------------------- 
##                no nuclei    354   0.154 
##                   coppie   1377   0.598 
##             monogenitore    122   0.053 
##         coppie + isolati    251   0.109 
##   monogenitore + isolati     35   0.015 
## due nuclei senza isolati    152   0.066 
##   due nuclei con isolati     12   0.005 
## --------------------------------------- 
##                    Total   2303   1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 4152.328, df = 6, p-value = 0.000

Istruzione

BarChart(ISTRMi, data=famiglie, 
         main = 'ISTRUZIONE', 
         horiz=TRUE,
         offset=1,
         values='%',
         values_color='white',
         theme="light",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(ISTRMi, horiz=TRUE)  # horizontal bar chart
## BarChart(ISTRMi, fill="greens")  # sequential green bars
## PieChart(ISTRMi)  # doughnut (ring) chart
## Plot(ISTRMi)  # bubble plot
## Plot(ISTRMi, stat="count")  # lollipop plot 
## 
## 
## --- ISTRMi ---
## 
## 
## Missing Values of ISTRMi: 207 
## 
## 
##                laurea  diploma  scuola media  no sc_obbligo     nd      Total 
## Frequencies:      244      665           673            419     95       2096 
## Proportions:    0.116    0.317         0.321          0.200  0.045      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 621.739, df = 4, p-value = 0.000

L’84% degli individui ha un’istruzione che non supera il diploma, infatti solo il 12% ha un livello di istruzione pari alla laurea o post-laurea.

Variabili sulla situazione economica e lavorativa

BarChart(REDPRMi, data=famiglie, 
         main = 'FONTE PRINCIPALE DI REDDITO', 
         horiz=TRUE,
         offset=1,
         values='%',
         values_color='white',
         sort="-",
         theme="light",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(REDPRMi, horiz=TRUE)  # horizontal bar chart
## BarChart(REDPRMi, fill="greens")  # sequential green bars
## PieChart(REDPRMi)  # doughnut (ring) chart
## Plot(REDPRMi)  # bubble plot
## Plot(REDPRMi, stat="count")  # lollipop plot 
## 
## 
## --- REDPRMi ---
## 
## 
## Missing Values of REDPRMi: 472 
## 
## 
##                 REDPRMi  Count   Prop 
## -------------------------------------- 
##    redditi patrimoniali     15   0.008 
##                pensione     90   0.049 
## indennità e provvidenze    104   0.057 
##         lavoro autonomo    149   0.081 
##        mant da famiglia    591   0.323 
##       lavoro dipendente    882   0.482 
## -------------------------------------- 
##                   Total   1831   1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1998.209, df = 5, p-value = 0.000
BarChart(ATECOMi, data=famiglie, 
         main = 'SETTORE DI ATTIVITà ECONOMICA', 
         horiz=TRUE,
         offset=1,
         values='%',
         values_color='white',
         sort="-", 
         theme="light",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(ATECOMi, horiz=TRUE)  # horizontal bar chart
## BarChart(ATECOMi, fill="greens")  # sequential green bars
## PieChart(ATECOMi)  # doughnut (ring) chart
## Plot(ATECOMi)  # bubble plot
## Plot(ATECOMi, stat="count")  # lollipop plot 
## 
## 
## --- ATECOMi ---
## 
## 
## Missing Values of ATECOMi: 818 
## 
## 
##                 ndis  primario  secondario  terziario      Total 
## Frequencies:      55        94         311       1025       1485 
## Proportions:   0.037     0.063       0.209      0.690      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1637.443, df = 3, p-value = 0.000
PieChart(CONDMi, data=famiglie, 
         main = 'CONDIZIONE LAVORATIVA',
         values='%',
         values_color='white',
         sort="-", 
         theme='light',
         hole=0,
         clockwise = TRUE)

## >>> Suggestions
## PieChart(CONDMi, hole=0)  # traditional pie chart
## PieChart(CONDMi, values="%")  # display %'s on the chart
## BarChart(CONDMi)  # bar chart
## Plot(CONDMi)  # bubble plot
## Plot(CONDMi, values="count")  # lollipop plot 
## 
## 
## --- CONDMi ---
## 
## 
##                occupato  in cerca  inattivo  non disponibile      Total 
## Frequencies:       1024       281       493               45       1843 
## Proportions:      0.556     0.152     0.267            0.024      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1136.080, df = 3, p-value = 0.000

Variabili Economia

BarChart(RISEC , data=famiglie, 
         main = 'RISORSE ECONOMICHE COMPLESSIVE DELLA FAMIGLIA ULTIMI 12 MESI ', 
         horiz=TRUE,
         offset=0.5,
         values='%',
         values_color='white',
         fill="blues",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(RISEC, horiz=TRUE)  # horizontal bar chart
## BarChart(RISEC, fill="greens")  # sequential green bars
## PieChart(RISEC)  # doughnut (ring) chart
## Plot(RISEC)  # bubble plot
## Plot(RISEC, stat="count")  # lollipop plot 
## 
## 
## --- RISEC ---
## 
## 
## Missing Values of RISEC: 4 
## 
## 
##                ottime  adeguata  scarse  insufficienti      Total 
## Frequencies:       48      1268     888             95       2299 
## Proportions:    0.021     0.552   0.386          0.041      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1890.120, df = 3, p-value = 0.000
BarChart(SITE, data=famiglie, 
         main = 'SITUAZIONE ECONOMICA DELLA FAMIGLIA CONFRONTATA CON QUELLA DI UN ANNO FA ', 
         rotate_x=90, 
         offset=1,
         values='%',
         values_color='white',
         sort="-", 
         fill="blues",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(SITE, horiz=TRUE)  # horizontal bar chart
## BarChart(SITE, fill="greens")  # sequential green bars
## PieChart(SITE)  # doughnut (ring) chart
## Plot(SITE)  # bubble plot
## Plot(SITE, stat="count")  # lollipop plot 
## 
## 
## --- SITE ---
## 
## 
## Missing Values of SITE: 4 
## 
## 
##                         SITE  Count   Prop 
## ------------------------------------------- 
## rimasta più o meno la stessa   1436   0.625 
##            un po' peggiorata    419   0.182 
##            un po' migliorata    303   0.132 
##             molto peggiorata    109   0.047 
##             molto migliorata     32   0.014 
## ------------------------------------------- 
##                        Total   2299   1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 2795.326, df = 4, p-value = 0.000

Variabili di soddisfazione

BarChart(SITEC, data=famiglie, 
         main = 'SODDISFAZIONE PER SITUAZIONE ECONOMICA ULTIMI 2 ANNI ', 
         horiz=TRUE,
         offset=1,
         values='%',
         values_color='white', 
         fill="purples",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(SITEC, horiz=TRUE)  # horizontal bar chart
## BarChart(SITEC, fill="greens")  # sequential green bars
## PieChart(SITEC)  # doughnut (ring) chart
## Plot(SITEC)  # bubble plot
## Plot(SITEC, stat="count")  # lollipop plot 
## 
## 
## --- SITEC ---
## 
## 
## Missing Values of SITEC: 530 
## 
## 
##                molto  abbastanza   poco  per niente      Total 
## Frequencies:      56         824    704         189       1773 
## Proportions:   0.032       0.465  0.397       0.107      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 964.618, df = 3, p-value = 0.000
BarChart(SALUT, data=famiglie, 
         main = 'SODDISFAZIONE PER SITUAZIONE SALUTE ULTIMI 12 MESI  ', 
         horiz=TRUE,
         offset=1,
         values='%',
         values_color='white',
         fill="purples",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(SALUT, horiz=TRUE)  # horizontal bar chart
## BarChart(SALUT, fill="greens")  # sequential green bars
## PieChart(SALUT)  # doughnut (ring) chart
## Plot(SALUT)  # bubble plot
## Plot(SALUT, stat="count")  # lollipop plot 
## 
## 
## --- SALUT ---
## 
## 
## Missing Values of SALUT: 540 
## 
## 
##                molto  abbastanza   poco  per niente      Total 
## Frequencies:     413        1131    171          48       1763 
## Proportions:   0.234       0.642  0.097       0.027      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1597.805, df = 3, p-value = 0.000
BarChart(RELFAM, data=famiglie, 
         main = 'SODDISFAZIONE PER SITUAZIONE FAMILIARE ULTIMI 12 MESI  ', 
         horiz=TRUE,
         offset=0.5,
         values='%',
         values_color='white',
         fill="purples",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(RELFAM, horiz=TRUE)  # horizontal bar chart
## BarChart(RELFAM, fill="greens")  # sequential green bars
## PieChart(RELFAM)  # doughnut (ring) chart
## Plot(RELFAM)  # bubble plot
## Plot(RELFAM, stat="count")  # lollipop plot 
## 
## 
## --- RELFAM ---
## 
## 
## Missing Values of RELFAM: 540 
## 
## 
##                molto  abbastanza   poco  per niente      Total 
## Frequencies:     643         941    144          35       1763 
## Proportions:   0.365       0.534  0.082       0.020      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1233.917, df = 3, p-value = 0.000
BarChart(RELAM, data=famiglie, 
         main = 'SODDISFAZIONE PER SITUAZIONE AMICI ULTIMI 12 MESI  ', 
         horiz=TRUE,
         offset=0.5,
         values='%',
         values_color='white',
         fill="purples",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(RELAM, horiz=TRUE)  # horizontal bar chart
## BarChart(RELAM, fill="greens")  # sequential green bars
## PieChart(RELAM)  # doughnut (ring) chart
## Plot(RELAM)  # bubble plot
## Plot(RELAM, stat="count")  # lollipop plot 
## 
## 
## --- RELAM ---
## 
## 
## Missing Values of RELAM: 541 
## 
## 
##                molto  abbastanza   poco  per niente      Total 
## Frequencies:     402        1063    237          60       1762 
## Proportions:   0.228       0.603  0.135       0.034      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1305.746, df = 3, p-value = 0.000
BarChart(TEMLIB , data=famiglie, 
         main = 'SODDISFAZIONE PER TEMPO LIBERO ULTIMI 12 MESI  ', 
         horiz=TRUE,
         offset=0.5,
         values='%',
         values_color='white',
         fill="purples",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(TEMLIB, horiz=TRUE)  # horizontal bar chart
## BarChart(TEMLIB, fill="greens")  # sequential green bars
## PieChart(TEMLIB)  # doughnut (ring) chart
## Plot(TEMLIB)  # bubble plot
## Plot(TEMLIB, stat="count")  # lollipop plot 
## 
## 
## --- TEMLIB ---
## 
## 
## Missing Values of TEMLIB: 539 
## 
## 
##                molto  abbastanza   poco  per niente      Total 
## Frequencies:     253         941    479          91       1764 
## Proportions:   0.143       0.533  0.272       0.052      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 928.091, df = 3, p-value = 0.000
BarChart(VOTOVI , data=famiglie, 
         main = 'SODDISFAZIONE PER VITA NEL COMPLESSO  ', 
         horiz=TRUE,
         offset=0.5,
         values='%',
         values_color='white',
         fill="purples",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(VOTOVI, horiz=TRUE)  # horizontal bar chart
## BarChart(VOTOVI, fill="greens")  # sequential green bars
## PieChart(VOTOVI)  # doughnut (ring) chart
## Plot(VOTOVI)  # bubble plot
## Plot(VOTOVI, stat="count")  # lollipop plot 
## 
## 
## --- VOTOVI ---
## 
## 
## Missing Values of VOTOVI: 532 
## 
## 
##                          VOTOVI  Count   Prop 
## ---------------------------------------------- 
##             molto insoddisfatto     15   0.008 
##                   insoddisfatto     29   0.016 
## nè soddisfatto nè insoddisfatto    510   0.288 
##                     soddisfatto    881   0.497 
##               molto soddisfatto    336   0.190 
## ---------------------------------------------- 
##                           Total   1771   1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1476.383, df = 4, p-value = 0.000
BarChart(FUTUASP, data=famiglie, 
         main = 'TRA 5 SITUAZIONE PERSONALE MIGLIORE O PEGGIORE ', 
         rotate_x=90, 
         offset=1,
         values='%',
         values_color='white',
         fill="purples",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(FUTUASP, horiz=TRUE)  # horizontal bar chart
## BarChart(FUTUASP, fill="greens")  # sequential green bars
## PieChart(FUTUASP)  # doughnut (ring) chart
## Plot(FUTUASP)  # bubble plot
## Plot(FUTUASP, stat="count")  # lollipop plot 
## 
## 
## --- FUTUASP ---
## 
## 
## Missing Values of FUTUASP: 514 
## 
## 
##                migliorerà  resterà la stessa  peggiorerà  non so      Total 
## Frequencies:          733                461         143     452       1789 
## Proportions:        0.410              0.258       0.080   0.253      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 390.012, df = 3, p-value = 0.000

Variabili sulle relazioni con parenti e amici

BarChart(VICINI, data=famiglie, 
         main = 'VICINI SU CUI POTER CONTARE', 
         horiz=TRUE,
         offset=1,
         values='%',
         values_color='white',
         sort="-", 
         fill="greens",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(VICINI, horiz=TRUE)  # horizontal bar chart
## BarChart(VICINI, fill="greens")  # sequential green bars
## PieChart(VICINI)  # doughnut (ring) chart
## Plot(VICINI)  # bubble plot
## Plot(VICINI, stat="count")  # lollipop plot 
## 
## 
## --- VICINI ---
## 
## 
## Missing Values of VICINI: 476 
## 
## 
##                si, +1     no  si, 1      Total 
## Frequencies:      383    714    730       1827 
## Proportions:    0.210  0.391  0.400      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 126.013, df = 2, p-value = 0.000
BarChart(AMICI, data=famiglie, 
         main = 'FREQUENZA VEDERE  AMICI ', 
         horiz=TRUE,
         offset=1,
         values='%',
         values_color='white',
         fill="greens",
         xlab ="",
         ylab = "COUNT")

## >>> Suggestions
## BarChart(AMICI, horiz=TRUE)  # horizontal bar chart
## BarChart(AMICI, fill="greens")  # sequential green bars
## PieChart(AMICI)  # doughnut (ring) chart
## Plot(AMICI)  # bubble plot
## Plot(AMICI, stat="count")  # lollipop plot 
## 
## 
## --- AMICI ---
## 
## 
## Missing Values of AMICI: 220 
## 
## 
##            AMICI  Count   Prop 
## ------------------------------- 
##   tutti i giorni    267   0.128 
##   +1 a settimana    511   0.245 
##    1 a settimana    488   0.234 
##       -4 al mese    389   0.187 
## qualche all'anno    249   0.120 
##              mai    116   0.056 
##     non ho amici     63   0.030 
## ------------------------------- 
##            Total   2083   1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 609.802, df = 6, p-value = 0.000
PieChart(AMICI2, data=famiglie, 
         main = 'AMICI SU CUI POTER CONTARE',
         values='%',
         values_color='white',
         fill='greens',
         clockwise = TRUE,
         hole=0)

## >>> Suggestions
## PieChart(AMICI2, hole=0)  # traditional pie chart
## PieChart(AMICI2, values="%")  # display %'s on the chart
## BarChart(AMICI2)  # bar chart
## Plot(AMICI2)  # bubble plot
## Plot(AMICI2, values="count")  # lollipop plot 
## 
## 
## --- AMICI2 ---
## 
## 
##                   no     si  non so      Total 
## Frequencies:     466   1234     127       1827 
## Proportions:   0.255  0.675   0.070      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 1056.483, df = 2, p-value = 0.000
PieChart(PARENT, data=famiglie, 
         main = "ALTRI PARENTI SU CUI CONTARE OLTRE Figli,Genitori,Nonni,Fratello o Sorella,Nipoti",
         values='%',
         values_color='white',
         sort="-", 
         fill="greens",
         clockwise = TRUE,
         hole=0)

## >>> Suggestions
## PieChart(PARENT, hole=0)  # traditional pie chart
## PieChart(PARENT, values="%")  # display %'s on the chart
## BarChart(PARENT)  # bar chart
## Plot(PARENT)  # bubble plot
## Plot(PARENT, values="count")  # lollipop plot 
## 
## 
## --- PARENT ---
## 
## 
##                   no     si      Total 
## Frequencies:    1019    808       1827 
## Proportions:   0.558  0.442      1.000 
## 
## 
## Chi-squared test of null hypothesis of equal probabilities 
##   Chisq = 24.368, df = 1, p-value = 0.000

Analisi Bivariata ( autore: Camilla Filonzi )

ISTRMI RIPMF

Istruzione

ggplot(data=famiglie1,aes(famiglie1$REGMf)) +
  geom_bar(aes(fill = famiglie1$ISTRMi), position = "fill") +
  theme(axis.text.x = element_text(angle = 90))+ xlab("Regioni d'Italia")+
  labs(fill="Istruzione")
## Error in ggplot(data = famiglie1, aes(famiglie1$REGMf)): oggetto "famiglie1" non trovato

nordovest e nord est hanno i livelli percentuali di laureati e diplomati piu elevati, i diplomati sono la categoria piu numerosa all’interno di nord est e centro, mentre la licenza scuola media preval al sud e al nord ovest, infine la macro regione in cui troviamo una percentuale maggiore di individui che non hanno consegiuto la scuola dell obbligo è quella delle isole.

BarChart(POSIZMi,by=ISTRMi, data=famiglie, 
         main = "Posizione lavorativa e Istruzione",
         values_color='black',
         fill=c("cornflowerblue","coral","darkseagreen3","bisque2","deeppink2"),
         beside=TRUE,
         values_position = "out",
         xlab="Posizione lavorativa")

## >>> Suggestions
## Plot(POSIZMi, ISTRMi)  # bubble plot
## BarChart(POSIZMi, by=ISTRMi, horiz=TRUE)  # horizontal bar chart
## BarChart(POSIZMi, fill="steelblue")  # steelblue bars 
## 
## 
## Joint and Marginal Frequencies 
## ------------------------------ 
##  
##            POSIZMi 
## ISTRMi          imprenditore dir-qud-imp operaio precario non disponibile  Sum 
##   laurea                  41          94      58       31               1  225 
##   diploma                 35          85     366       80              12  578 
##   scuola media            12          30     359       83              11  495 
##   no sc_obbligo            9           4      93       25               3  134 
##   nd                       1           6      34        3               4   48 
##   Sum                     98         219     910      222              31 1480 
## 
## 
## Cramer's V: 0.220 
##  
## Chi-square Test:  Chisq = 285.854, df = 16, p-value = 0.000 
## >>> Low cell expected frequencies, chi-squared approximation may not be accurate

tendenzialmente chi ha una o piu laureee ricopre una posizione di imprenditore/ libero professionista o lavoratore dipendente in un’azienda( dir-quadro-impieg)
gli stranieri per altro sono per lo piu operai che hanno un’istruzione non superiore al diploma

BarChart(ISTRMi, by=SESSO, data=famiglie, 
         main = 'Istruzione-Sesso',
         beside=TRUE,
         xlab = "Istruzione",
         values_color='black',
         fill=c('lightblue', 'pink'))

## >>> Suggestions
## Plot(ISTRMi, SESSO)  # bubble plot
## BarChart(ISTRMi, by=SESSO, horiz=TRUE)  # horizontal bar chart
## BarChart(ISTRMi, fill="steelblue")  # steelblue bars 
## 
## 
## Joint and Marginal Frequencies 
## ------------------------------ 
##  
##       ISTRMi 
## SESSO     laurea diploma scuola media no sc_obbligo  nd  Sum 
##   Maschio     91     297          338           212  43  981 
##   Femmina    153     368          335           207  52 1115 
##   Sum        244     665          673           419  95 2096 
## 
## 
## Cramer's V: 0.087 
##  
## Chi-square Test:  Chisq = 15.758, df = 4, p-value = 0.003

per laurea e diploma il tasso di istruzione delle donne è superiore rispetto agli uomini, mentre gli altri livelli sono tendenzialmente omogenei.

Sesso

BarChart(TEMLIB, by=SESSO, data=famiglie, 
         main = 'Tempo libero-Sesso',
         beside=TRUE,
         xlab = "Tempo libero",
         values_color='black',
         fill=c('lightblue', 'pink'))

## >>> Suggestions
## Plot(TEMLIB, SESSO)  # bubble plot
## BarChart(TEMLIB, by=SESSO, horiz=TRUE)  # horizontal bar chart
## BarChart(TEMLIB, fill="steelblue")  # steelblue bars 
## 
## 
## Joint and Marginal Frequencies 
## ------------------------------ 
##  
##       TEMLIB 
## SESSO     molto abbastanza poco per niente  Sum 
##   Maschio   115        435  233         48  831 
##   Femmina   138        506  246         43  933 
##   Sum       253        941  479         91 1764 
## 
## 
## Cramer's V: 0.035 
##  
## Chi-square Test:  Chisq = 2.185, df = 3, p-value = 0.535
BarChart(POSIZMi, by=SESSO, data=famiglie, 
         main = 'Posizione Lavorativa-Sesso',
         beside=TRUE,
         xlab = "Posizione lavorativa",
         values_color='black',
         fill=c('lightblue', 'pink'))

## >>> Suggestions
## Plot(POSIZMi, SESSO)  # bubble plot
## BarChart(POSIZMi, by=SESSO, horiz=TRUE)  # horizontal bar chart
## BarChart(POSIZMi, fill="steelblue")  # steelblue bars 
## 
## 
## Joint and Marginal Frequencies 
## ------------------------------ 
##  
##      POSIZMi 
## SESSO     imprenditore dir-qud-imp operaio precario non disponibile  Sum 
##   Maschio           61          81     485      120              15  762 
##   Femmina           37         138     425      102              17  719 
##   Sum               98         219     910      222              32 1481 
## 
## 
## Cramer's V: 0.130 
##  
## Chi-square Test:  Chisq = 25.026, df = 4, p-value = 0.000
BarChart(CONDMi, by=SESSO, data=famiglie, 
         main = 'CONDIZIONE LAVORATIVA - SESSO ',
         beside=TRUE,
         xlab = "Condizione lavorativa",
         values_color='black',
         fill=c('lightblue', 'pink'))

## >>> Suggestions
## Plot(CONDMi, SESSO)  # bubble plot
## BarChart(CONDMi, by=SESSO, horiz=TRUE)  # horizontal bar chart
## BarChart(CONDMi, fill="steelblue")  # steelblue bars 
## 
## 
## Joint and Marginal Frequencies 
## ------------------------------ 
##  
##       CONDMi 
## SESSO     occupato in cerca inattivo non disponibile  Sum 
##   Maschio      576      154      114              22  866 
##   Femmina      448      127      379              23  977 
##   Sum         1024      281      493              45 1843 
## 
## 
## Cramer's V: 0.290 
##  
## Chi-square Test:  Chisq = 154.937, df = 3, p-value = 0.000
  • tempo libero sesso
    Dal punto di vista di genere, la soddisfazione del tempo libero le donne sembrano piu soddisfatte degli uomini.

-POSIZMI - sesso

In tutte le categorie di lavoro gli uomini sono piu numerosi tranne nella categoria di lavoratori dipendenti ( dir, quadro impiegati) dove le donne sono quasi il doppio degli uomini.

-condiz sesso
dal punto di vista della condizione lavorativa, troviamo dei dati interessanti in cui gli occupati maschili sono di gran lunga superiori di quelli femminili, memtre gli inattivi femminili sono piu di 3 volte quelli maschiili

Economia

BarChart(POSIZMi,by=ATECOMi, data=famiglie, 
         main = "Posizione lavorativa e Settore lavorativo  ",
         values_color='black',
         fill=c("cornflowerblue","coral","darkseagreen3","bisque2","deeppink2"),
         beside=TRUE,
         values_position = "out",
         xlab="Posizione lavorativa")

## >>> Suggestions
## Plot(POSIZMi, ATECOMi)  # bubble plot
## BarChart(POSIZMi, by=ATECOMi, horiz=TRUE)  # horizontal bar chart
## BarChart(POSIZMi, fill="steelblue")  # steelblue bars 
## 
## 
## Joint and Marginal Frequencies 
## ------------------------------ 
##  
##         POSIZMi 
## ATECOMi      imprenditore dir-qud-imp operaio precario non disponibile  Sum 
##   primario              4           2      69       19               0   94 
##   secondario           14          14     252       30               1  311 
##   terziario            77         201     568      170               9 1025 
##   ndis                  2           1      19        2              20   44 
##   Sum                  97         218     908      221              30 1474 
## 
## 
## Cramer's V: 0.343 
##  
## Chi-square Test:  Chisq = 520.909, df = 12, p-value = 0.000 
## >>> Low cell expected frequencies, chi-squared approximation may not be accurate
CA(table(famiglie$REDPRMi, famiglie$RISEC))
## Error in CA(table(famiglie$REDPRMi, famiglie$RISEC)): non trovo la funzione "CA"
  • posizmi atecomi
    gli operai, che sono il gruppo piu numeroso, si ritrovano in prevalenza in agricolutura silvicultura e pesca, o industria,
    le altre sono piu o meno distribuite nel totale servizi
#AMICI TEMPO LIBERO 
tab = table(famiglie$AMICI, famiglie$TEMLIB)
CA(tab)
## Error in CA(tab): non trovo la funzione "CA"
BarChart(TEMLIB,by=ETAMi, data=famiglie, 
         main = "Tempo libero - Età",
         values_color='black',
         fill=c("cornflowerblue","coral","darkseagreen3","bisque2","deeppink2"),
         beside=TRUE,
         values_position = "out",
         xlab="Tempo libero")

## >>> Suggestions
## Plot(TEMLIB, ETAMi)  # bubble plot
## BarChart(TEMLIB, by=ETAMi, horiz=TRUE)  # horizontal bar chart
## BarChart(TEMLIB, fill="steelblue")  # steelblue bars 
## 
## 
## Joint and Marginal Frequencies 
## ------------------------------ 
##  
##          TEMLIB 
## ETAMi        molto abbastanza poco per niente  Sum 
##   minor         39         68   14          4  125 
##   giovani       74        268  119         18  479 
##   pri_adulti   106        429  254         45  834 
##   sec_adulti    20        130   68         19  237 
##   terza età     12         33   17          2   64 
##   anziani        2         13    7          3   25 
##   Sum          253        941  479         91 1764 
## 
## 
## Cramer's V: 0.107 
##  
## Chi-square Test:  Chisq = 61.009, df = 15, p-value = 0.000 
## >>> Low cell expected frequencies, chi-squared approximation may not be accurate
tab=table(famiglie$ETAMi, famiglie$TEMLIB)
CA(tab)
## Error in CA(tab): non trovo la funzione "CA"

risec redprmi

Dall’analisi delle corrispondente tra .. è possibile notare come tendenzialmente chi ha una fornte di reddito da lavoro autonomo considera di avere ottime o adeguate risorse economiche, chi invece ha un reddito che proviene da indennita (patrimoniali) o lavoro dipendente tendenzialmente reputa di avere risorse adeguate, mentre chi viene mantenuto dalla famiglia o dallo stato (pensioni), considera scarse le proprie risorse, infine vengono considerate assolutamente insufficienti le risorse provenienti da indennità o provvidenze varie.

-amici tempolibero
Sempre per l’analisi delle corrispondense possiamo vedere una correlazione tra la frequenza con cui ci si incontra con gli amici e il tempo libero a disposizione, infatti chi si considera molto o abbastanza soddisfatto sono wuelle persone che frequentano amici tutti i gioni, o piu di una volta o una volta a settimana, d’altro canto chi da un giudizio negativo (poco, per niente AMICI), ha una frequenza inferiore a quattro volte al mese.

E’ possibile trovare una relazione anche tra eta e soddisfazione del tempo libero, infatti i minorenni sono molto soddisfatti, mentre i giovani e gli anziani si considerao abbastanza soddisfatti. Tra i pochi soddisfatti troviamo invece i primi adulti (eta check) e la terza eta (post pensione). Infine i sec adulti, ovvero quelli vicini alla pensione , non sono perniente contenti.

-eta salute

Si può evincere che chi ha risorse economiche elevate si ritiene molto soddisfatto, mentre chi ne ha poche o scarse non si ritiene per niente soddisfatto

-eta salute Come era da aspettarsi, er quanto rigarda i legmi tra salute e l’eta , minore è l’eta e maggiore è il livello di salute personale.

-biva istrmi e redprimi
possiamo notare come un maggior livello di istruzione, come lauree, siano prevalenti tra i percettore di un reddito da lavoro autonomo e redditi patrimoniali. Mentre i lavoratori da lavoro dipendente mediamente posseggono un diploma,
chi è mantenuto dalla famiglia tendenzialmente ha il titolo di scuola media. I pensionati infine sembrano il gruppo con maggior individui che non hanno finito la scuola dell’obbligo.

BarChart(SITEC,by=RISEC, data=famiglie, beside = TRUE)

## >>> Suggestions
## Plot(SITEC, RISEC)  # bubble plot
## BarChart(SITEC, by=RISEC, horiz=TRUE)  # horizontal bar chart
## BarChart(SITEC, fill="steelblue")  # steelblue bars 
## 
## 
## Joint and Marginal Frequencies 
## ------------------------------ 
##  
##              SITEC 
## RISEC           molto abbastanza poco per niente  Sum 
##   ottime            6         21    8          1   36 
##   adeguata         38        600  279         55  972 
##   scarse           12        191  391         95  689 
##   insufficienti     0         12   24         38   74 
##   Sum              56        824  702        189 1771 
## 
## 
## Cramer's V: 0.266 
##  
## Chi-square Test:  Chisq = 375.497, df = 9, p-value = 0.000 
## >>> Low cell expected frequencies, chi-squared approximation may not be accurate
tab1=table(famiglie1$RISEC,famiglie1$SITEC)
## Error in table(famiglie1$RISEC, famiglie1$SITEC): oggetto "famiglie1" non trovato
CA(tab1)
## Error in CA(tab1): non trovo la funzione "CA"
BarChart(ETAMi,by=SALUT, data=famiglie, 
         main = "ETA - SALUTE ",
         values_color='black',
         fill=c("cornflowerblue","coral","darkseagreen3","bisque2","deeppink2"),
         beside=TRUE,
         values_position = "out",
         xlab="Eta")

## >>> Suggestions
## Plot(ETAMi, SALUT)  # bubble plot
## BarChart(ETAMi, by=SALUT, horiz=TRUE)  # horizontal bar chart
## BarChart(ETAMi, fill="steelblue")  # steelblue bars 
## 
## 
## Joint and Marginal Frequencies 
## ------------------------------ 
##  
##           ETAMi 
## SALUT        minor giovani pri_adulti sec_adulti terza età anziani  Sum 
##   molto         55     159        163         32         3       1  413 
##   abbastanza    60     281        563        166        45      16 1131 
##   poco           7      32         84         32        11       5  171 
##   per niente     1       5         26          8         5       3   48 
##   Sum          123     477        836        238        64      25 1763 
## 
## 
## Cramer's V: 0.151 
##  
## Chi-square Test:  Chisq = 120.263, df = 15, p-value = 0.000 
## >>> Low cell expected frequencies, chi-squared approximation may not be accurate

Analisi multivariata (Tommaso Paoletti)

levels(famiglie$ETAMi)[levels(famiglie$ETAMi)== "0-18"] <- "minor"      
levels(famiglie$ETAMi)[levels(famiglie$ETAMi)== "18-24"] <- "giovani"       
levels(famiglie$ETAMi)[levels(famiglie$ETAMi)== "25-34"] <- "giovani"   
levels(famiglie$ETAMi)[levels(famiglie$ETAMi)== "35-44"] <- "pri_adulti"    
levels(famiglie$ETAMi)[levels(famiglie$ETAMi)== "45-54"] <- "pri_adulti"
levels(famiglie$ETAMi)[levels(famiglie$ETAMi)== "55-64"] <- "sec_adulti"
levels(famiglie$ETAMi)[levels(famiglie$ETAMi)== "55-64"] <- "sec_adulti"
levels(famiglie$ETAMi)[levels(famiglie$ETAMi)== "65-74"] <-"terza età"
levels(famiglie$ETAMi)[levels(famiglie$ETAMi)== "75+"] <- "anziani"

Per semplificare la visualizzazione grafica delle analisi delle corrispondenze multiple abbiamo deciso di eliminare gli NA da dataset “famiglie” , poichè abbiamo riscontrato che molti giovani non hanno risposto alle domande sulla soddisfazione.

famiglie = na.omit(famiglie)
levels(famiglie$RELFAM)[levels(famiglie$RELFAM) == "per niente"] <- 'poco'      
levels(famiglie$RELFAM)[levels(famiglie$RELFAM)== "poco"] <- 'poco'     
library(FactoMineR)
S_R_P_R = famiglie[,c(match(1, colnames(famiglie) == 'SITEC'),
                  match(1, colnames(famiglie) == 'REDPRMi'),
                  match(1, colnames(famiglie) == 'POSIZMi'),
                  match(1, colnames(famiglie) == 'RISEC'))]

res.mca1 = MCA(S_R_P_R, quali.sup = 3)

Combinando le variabili Situazione economica, principale fonte di reddito, posizione lavorativa e come variabile qualitativa supplementare Risorse economiche, ed applicando la MCA è possibile evincere che coloro che ritengono queste ultime ottime o adeguate sono i dirigenti, i quadri, gli impiegati i quali in prevalenza sono ‘abbastanza’ soddisfatti della propria situazione economica.
Mentre tra coloro che ritengono le proprie risorse scarse rientrano gli operai e i mantenuti dalla famiglia o da redditi patrimoniali, categoria ‘poco’ soddisfatta della situazione economica familiare.
Infine troviamo coloro che sono in pensione, precari o coloro che percepiscono indennita e provvidenze ritengono le proprie risorse insufficienti e non sono per niente soddifatti della loro situazione economica. Per quanto riguarda gli imprenditori, essi sono abbastanza soddisfatti della loro situazione economica nonostante considerino in prevalenza le loro risorse scarse o adeguate.

famiglie = famiglie[famiglie$CONDMi != "non disponibile",]
famiglie = famiglie[famiglie$ATECOMi != "ndis",]
famiglie = famiglie[famiglie$REDPRMi != "ndis",]

S_C_T_R = famiglie[,c(match(1, colnames(famiglie) == 'SESSO'),
                  match(1, colnames(famiglie) == 'CONDMi'),
                  match(1, colnames(famiglie) == 'TEMLIB'),
                 match(1, colnames(famiglie) == 'RELAM'))]
res_mca2 = MCA(S_C_T_R, quali.sup = 4)

# 

Facendo una multivariata con tempo libero, sesso, condizione lavorativa e con relazioni con amici come variabile supplementare si evince che:
- gli inattivi sono prevalentemente donne ed hanno molto tempo libero e sono molto o abbastanza soddisfatte;
- le persone in cerca di lavoro sono più uomini che donne e vengono caratterizzate da evre poco tempo libero;
- infine gli occupati, a maggioranza maschile, reputano di avere poco tempo libero e elcuni si lamentano di non avere per niente relazioni di amicizia.

A_T_E_S = famiglie[,c(match(1, colnames(famiglie) == 'AMICI'),
                  match(1, colnames(famiglie) == 'TEMLIB'),
                  match(1, colnames(famiglie) == 'ETAMi'),
                  match(1, colnames(famiglie) == 'SESSO'))]
res.mca1 = MCA(A_T_E_S , quali.sup = 1)

Analizzando Amici, Tempo libero e sesso con Età come variabile supplementare, è possibile capire che:
- gli anziani hanno poco tempo libero , vedono amici qualche volta l’anno perchè ne hanno pochi e sono principalmente maschi;

#prova con SALUT
prova2 = famiglie[,c(match(1, colnames(famiglie) == 'SALUT'),
                   match(1, colnames(famiglie) == 'ETAMi'),
                   match(1, colnames(famiglie) == 'RISEC'),
                   match(1, colnames(famiglie) == 'SESSO'))]
res.mca2 = MCA(prova2, quali.sup = 2)

# prova con occupati
prova2 = famiglie[,c(match(1, colnames(famiglie) == 'TEMLIB'),
                   match(1, colnames(famiglie) == 'AMICI'),
                   match(1, colnames(famiglie) == 'CONDMi'),
                   match(1, colnames(famiglie) == 'SESSO'))]
res.mca1 = MCA(prova2, quali.sup = 1)

#prova con RELFAM

prova3 = filtro[,c(match(1, colnames(filtro) == 'RELFAM'),
                   match(1, colnames(filtro) == 'TEMLIB'),
                   match(1, colnames(filtro) == 'PARENT'),
                   match(1, colnames(filtro) == 'TIPNU2'))]
## Error in eval(expr, envir, enclos): oggetto "filtro" non trovato
res.mca3 = MCA(prova3, quali.sup = 4)
## Error in rownames(X): oggetto "prova3" non trovato
#plot(res.mca3, xlim = c(-2,2), ylim= c(-2,2))
res.mca4 = MCA(prova3, quali.sup = 4)
## Error in rownames(X): oggetto "prova3" non trovato

levels(filtro$RELFAM)[levels(filtro$RELFAM) == "per niente"] <- 'poco'      
## Error in levels(filtro$RELFAM)[levels(filtro$RELFAM) == "per niente"] <- "poco": oggetto "filtro" non trovato
levels(filtro$RELFAM)[levels(filtro$RELFAM)== "poco"] <- 'poco'     
## Error in levels(filtro$RELFAM)[levels(filtro$RELFAM) == "poco"] <- "poco": oggetto "filtro" non trovato
prova4 = filtro[,c(match(1, colnames(filtro) == 'RELFAM'),
                   match(1, colnames(filtro) == 'TEMLIB'),
                   match(1, colnames(filtro) == 'RELAM'),
                   match(1, colnames(filtro) == 'SALUT'),
                   match(1, colnames(filtro) == 'VOTOVI'))]
## Error in eval(expr, envir, enclos): oggetto "filtro" non trovato
res.mca4 = MCA(prova4, quali.sup = 5)
## Error in rownames(X): oggetto "prova4" non trovato